<?php
class Admin_Form_AddCustomerAndOrder extends Apps_Form {
    public function init() {
        $dMapper = new M_Tool_DataMapper();

    // Customer
        $fullName = new Zend_Form_Element_Text(
        					      'full_name',
                                  array(
                                      'label' 	=> 'Họ và tên',
        							  'required' => true,
			                          'class' 	=> 'hint',
                                      'filters' => array('StringTrim'),
                                	  'title' 	=> 'Họ và tên khách hàng'
                                  )
                              );
        $email = new Zend_Form_Element_Text(
        					      'email',
                                  array(
                                      'label' 	=> 'Email',
        							  'required' => true,
			                          'class' 	=> 'hint',
                                      'filters' => array('StringTrim'),
                                	  'title' 	=> 'Email'
                                  )
                              );
        $phone = new Zend_Form_Element_Text(
        					      'phone',
                                  array(
                                      'label' 	=> 'Điện thoại',
			                          'class' 	=> 'hint',
                                      'filters' => array('StringTrim'),
                                	  'title' 	=> 'Điện thoại'
                                  )
                              );
        $address = new Zend_Form_Element_Text(
        					      'address',
                                  array(
                                      'label' 	=> 'Địa chỉ',
			                          'class' 	=> 'hint',
                                      'filters' => array('StringTrim'),
                                	  'title' 	=> 'Địa chỉ'
                                  )
                              );
        $country = new Zend_Form_Element_Text(
        					      'country_residence',
                                  array(
                                      'label' 	=> 'Country',
			                          'class' 	=> 'hint',
                                      'filters' => array('StringTrim'),
                                	  'title' 	=> 'Quốc gia'
                                  )
                              );

        $description = new Zend_Form_Element_Textarea(
        						       'description',
                                        array(
                                        	'label'   => 'Description',
                                            'filters' => array('StringTrim')
                                        )
                                    );

        // ORDER
        $referenceType = new Zend_Form_Element_Select(
        					      'reference_type',
                                  array(
                                      'label'         	=>  'Thuộc danh mục',
        							  'required'		=> true,
                                      'multiOptions'  	=>  array(
                                      						''										=> '',
                                      						M_DbTable_Order::REFERENCE_TYPE_TOUR 	=> 'Tour',
                                      						M_DbTable_Order::REFERENCE_TYPE_CRUISE 	=> 'Cruise',
                                      					),
                                      'attribs' => array(
                                          'class' => 'chainselect',
                                          'data-chainselect-source' => '/?ajax=list-reference-order',
                                          'data-chainselect-target' => '[data-chainselect-selector=\'list\']'
                                       )
                                  )
                );


        $reference = new Zend_Form_Element_Select(
        						'reference_id',
                                array(
                                	'label'         => 'Liên quan đến',
        							'required'		=> true,
                                    'multiOptions'  => $dMapper->mapKeyValue(
                                                           new M_DbTable_Cruise(),
                                                           'id',
                                                           'name',
                                                           array('' => '')
                                                       ),
                                    'attribs' => array(
                                        'data-chainselect-selector' => 'list'
                                    )
                                )
                            );

        $reference->setRegisterInArrayValidator(false);
        $orderStatus = new Zend_Form_Element_Select(
        		'order_status_id',
        		array(
        				'label'         =>  'Kiểu mua hàng',
        				'required'		=> true,
        				'multiOptions'  =>  $dMapper->mapKeyValue(
        						new M_DbTable_OrderStatus(),
        						'id',
        						'title')
        		)
        );
        $paymentType = new Zend_Form_Element_Select(
        		'payment_type_id',
        		array(
        				'label'         =>  'Kiểu thanh toán',
        				'required'		=> true,
        				'multiOptions'  =>  $dMapper->mapKeyValue(
        						new M_DbTable_PaymentType(),
        						'id',
        						'title')
        		)
        );

        $descriptionOrder = new Zend_Form_Element_Textarea(
        						       'description-order',
                                        array(
                                        	'label'   => 'Description',
                                            'filters' => array('StringTrim')
                                        )
                                    );

// Form
        $this->setName('order-customer');
        $this->setLegend('Thêm khách hàng và chi tiết đặt hàng');
        $this->addDisplayGroup(
                   array(
                        $fullName,
                   		$email,
                   		$phone,
                   		$address,
                   		$country,
						$description
                   ),
                   'group_customer',
                   array('legend' => 'Khách hàng')
               );
        $this->addDisplayGroup(
                   array(
                        $referenceType,
                        $reference,
                        $orderStatus,
                        $paymentType,
                   		$descriptionOrder
                    ),
                    'group_order',
                    array('legend' => 'Chi tiết đặt hàng của khách hàng này')
                );
        $this->addActionGroup();
        $this->makeup();
    }
}